package com.yixun.service;

import com.yixun.entity.YxUser;
import com.yixun.util.ParameterMap;

import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Map;

public interface UserService {

    /**
     * 登陆
     */
    Map<String, Object> login(ParameterMap parameterMap, HttpSession session, String rip);

    /**
     * 获取session用户
     * @param session
     * @return
     */
    Map<String, Object> getUserBySession(HttpSession session);

    /**
     * 获取用户菜单
     * @param user_id
     * @return
     */
    String menuListToJsonStrByUserID(String user_id);

    /**
     * 根据dept_id获取Dept列表
     * @param map
     * @return
     */
    List<YxUser> getUserList(Map<String, String> map);

    /**
     * 根据dept_id获取Dept列表条数
     * @param map
     * @return
     */
    String getUserCount(Map<String, String> map);

    /**
     * 添加用户
     * @param sessionUser
     * @param user
     * @return
     */
    int insertUser(YxUser sessionUser, YxUser user);

    /**
     * 根据user_id获取UserInfo
     * @param user_id
     * @return
     */
    YxUser getUserBean(String user_id);

    /**
     * 修改用户信息
     * @param sessionUser
     * @param user
     * @return
     */
    int updateUser(YxUser sessionUser, YxUser user);

    /**
     * 删除用户信息
     * @param map
     * @return
     */
    int delUser(YxUser sessionUser, Map map);

    /**
     * 移动用户
     * @param sessionUser
     * @param map
     * @return
     */
    int moveUser(YxUser sessionUser, Map map);

    /**
     * 账号 启用/停用
     * @param map
     * @return
     */
    int setUserStatus(Map map);

    /**
     * 修改用户密码
     * @param sessionUser
     * @param map
     * @return
     */
    int resetPassword(YxUser sessionUser, Map map);

    /**
     *获取所有用户信息
     * @return
     */
    List<YxUser> getAllUserList();

    /**
     * 更新个人信息
     * @param sessionUser
     * @param user
     * @return
     */
    int updateSimple(YxUser sessionUser, YxUser user);

    /**
     * 验证原始密码
     * @param user_name
     * @param map
     * @return
     */
    YxUser checkOldPw(String user_name, Map<String, String> map);
}
